Embodiments of the present invention relate to processor-based systems, and more particularly to partitioned systems.
As computer systems become more complex and provide for greater processing capabilities, many systems are implemented in a partitioned fashion. That is, resources of the system are dedicated to separate partitions, where they are isolated from other partitions. Each partition may operate in its own context using various resources such as processors, memory, input/output (I/O) devices and the like. Furthermore, a dedicated operating system (OS) may be present in each partition.
Different types of partitioned systems exist. Certain systems are referred to hard partitioned systems, where hardware is replicated across the different partitions such that each partition includes its own independent hardware to independently perform tasks. Examples of such hard partitioned systems are various server-based systems for performing network processing functions, among other such activities. Other systems are so-called soft partitioned systems, where a single set of hardware exists that is controlled by centralized software such as a virtual machine monitor (VMM). The VMM owns the various hardware resources. In turn, multiple virtual machines (VM's) may operate as independent logical systems that believe they have full access to the underlying hardware, while in fact the VMM provides time-multiplexed or simulated access to the hardware by the different VMs.
In any of these partitioning paradigms, the actual hardware resources are owned by a single entity (e.g., a hard partition or centralized software such as an OS or VMM). As a result, the resources are dedicated to their owner and in cases where the resources are not fully utilized by their owner, underutilization can occur which can negatively affect performance of other partitions that are fully consuming their resources, as well as the overall system.